home *** CD-ROM | disk | FTP | other *** search
/ Loadstar 63 / 063.d81 / source checkbook (.txt) < prev    next >
Commodore BASIC  |  2022-08-26  |  13KB  |  351 lines

  1. 100 rem@ e3520
  2. 110 poke53281,0:poke53280,0:print"[147][211]etting up..."
  3. 120 clr:ifpeek(653)thenload"ec.help screens",8,128
  4. 130 ifpeek(653)thenload"ec.font",8,128:poke787,0
  5. 140 poke53280,11
  6. 150 ifpeek(653)then150:rem snapshot here
  7. 160 dim a$(4,200),mu$(12),c(8),x(4),y(4),li(4),em$(4),mo$(14),c$(1),a%(200)
  8. 170 dimsn(4):c$(0)="[155]":c$(1)="[152]":open15,8,15:rn=1:gosub3140:l=1:poke650,128
  9. 180 fori=0to11:readmu$(i):next:readc(1),c(2),c(3),c(4),c(5),c(6),c(7),c(0)
  10. 190 fori=0to4:readx(i),y(i),li(i):next:fori=1to14:readmo$(i):next
  11. 200 ln$="----------------------------------------":ln$=ln$+ln$
  12. 210 fori=0to4:reada$(i,0):next
  13. 220 tc$="10101010101":x$=chr$(13):mo$(0)="[196]ecember"
  14. 230 bo$="[158]                                  "
  15. 240 bo$=bo$+"                                  [145][145]"
  16. 250 print"[147]"
  17. 260 sp$="                                       ":rb$="0.00":b$=rb$:bb$=rb$
  18. 270 poke53281,0:poke53280,11
  19. 280 gosub310
  20. 290 onlgosub900,1920,2800,2650,2900,3070,3140,3160,3240,3470,1530,3320
  21. 300 goto280
  22. 310 ifpeek(2023)<>95thengosub770
  23. 320 ifpeek(1110)<>197thengosub860
  24. 330 print""spc(5);" [197] [193] [211] [217] [160] [195] [200] [197][160][195] [203] [194] [207] [207] [203]  ":ifl<1orl>12thenl=1
  25. 340 gosub1640
  26. 350 poke214,19:print:print" [185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185] "
  27. 360 print"  [158]                                   [146] "
  28. 370 print"  [158]                                   [146] "
  29. 380 print" [184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184] "
  30. 390 m1$="[195][210][211][210]/[210][197][212][213][210][206] to select":m2$="[195][212][210][204]-[200] to help":gosub830
  31. 400 print"";:tc=0:fori=0to11:tc=nottc:printspc(5)""c$(-tc)mu$(i):next
  32. 410 poke198,0
  33. 420 geta$:gosub740:ifa$<>"[145]"anda$<>""anda$<>chr$(13)anda$<>""anda$<>"?"then420
  34. 430 ifa$=chr$(13)thenct=1:gosub750:return
  35. 440 ifa$=""thenl=12:return
  36. 450 ifa$="?"thenm1$="[198]ree memory "+str$(fre(0)):m2$="[208]ress a key...":gosub830
  37. 460 ifa$="?"thenpoke198,0:wait198,1:geta$:goto310
  38. 470 poke214,3+l:poke211,5:sys58732:print""c$(val(mid$(tc$,l,1)))mu$(l)
  39. 480 ifa$=""thenl=l+1:ifl>11thenl=1
  40. 490 ifa$="[145]"thenl=l-1:ifl<1thenl=11
  41. 500 poke214,3+l:poke211,5:sys58732:print""mu$(l):ct=7:goto420
  42. 510 rem data table
  43. 520 data"[155]                              "
  44. 530 data" [195]reate/[213]pdate [195]heckbook      "
  45. 540 data" [204]ist [195]hecks ([211]creen/[208]rinter) "
  46. 550 data" [204]oad a file                  "
  47. 560 data" [211]ave this file               "
  48. 570 data" [211]end disk command            "
  49. 580 data" [211]ort checks for listing      "
  50. 590 data" [210]estore sorted checks        "
  51. 600 data" [211]ee deposits                 "
  52. 610 data" [212]otals of checks/deposits    "
  53. 620 data" [210]eset [208]rogram                "
  54. 630 data" [210]eturn to [204]oadstar           "
  55. 640 rem color data
  56. 650 data1,15,12,11,12,15,1,7
  57. 660 rem prompt positions on screen in t         the order: x, y, length
  58. 670 data10,2,8,29,2,5,5,7,18,22,9,9,5,13,18
  59. 680 rem menu glow bar
  60. 690 rem month names
  61. 700 data"[202]anuary","[198]ebruary","[205]arch","[193]pril","[205]ay","[202]une","[202]uly","[193]ugust"
  62. 710 data"[211]eptember","[207]ctober","[206]ovember","[196]ecember","[193]bort","[206]o file"
  63. 720 rem field names
  64. 730 data"[196]ate","[195]heck","[208]ayee","[193]mount","[208]urpose"
  65. 740 ct=ct+.2:ifct>7thenct=1
  66. 750 poke646,c(ct):poke214,3+l:poke211,5:sys58732:print""mu$(l):return
  67. 760 rem background pattern
  68. 770 print"";
  69. 780 fori=1to83:print"[159][169][169][223][223][159][169][169][223][223][159][169][169][223][223]";:next:print""
  70. 790 fori=8to11:poke2012+i,peek(2012-40+i):poke56284+i,peek(56284-40+i):next
  71. 800 rem clear line links
  72. 810 fori=217to242:pokei,peek(i)or128:next:return
  73. 820 rem print message
  74. 830 printbo$spc(20-len(m1$)/2)m1$
  75. 840 print""spc(20-len(m2$)/2)m2$"":m1$="":m2$="":return
  76. 850 rem print box
  77. 860 print"[158][176][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][174]":fori=1to13
  78. 870 printspc(4)"[221]                              [221]":next
  79. 880 printspc(4)"[173][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][189]":return
  80. 890 rem enter checks/deposits
  81. 900 gosub860:m1$="[198]1 next  [198]2 previous  ^ exit."
  82. 910 m2$="[198]4 first  [198]3 last [195][210][211][210]/[210][197][212] select":gosub830
  83. 920 print"[159][196]ate:           [195]heck #:      "
  84. 930 print"[163][163][163][163][163][163][163][163][163][163][163][163][163][163][163]"
  85. 940 print"[208]ay to the order of:"
  86. 950 print"[163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163]"
  87. 960 printspc(13)"[193]mount: $            "
  88. 970 printspc(21)"[163][163][163][163][163][163][163][163][163][163][163][163][163][163]"
  89. 980 print"[195]omment:"
  90. 990 print"[163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][158]"
  91. 1000 fori=0to4:poke211,x(i):poke214,y(i):sys58732:printa$(i,rn):next
  92. 1010 print"":it=0
  93. 1020 rem loop to enter check data
  94. 1030 h=it:forit=0to4:ifa$(it,rn)=""thena$(it,rn)=left$(sp$,li(it))
  95. 1040 ct=0:gosub1360:next:it=h
  96. 1050 geta$:poke199,1:gosub1350:ifa$=""then1050
  97. 1060 ifa$="^"thenreturn
  98. 1070 ifa$=""ora$=""thenct=0:gosub1360:it=it+1:ifit>4thenit=0
  99. 1080 ifa$="[157]"ora$="[145]"thenct=0:gosub1360:it=it-1:ifit<0thenit=4
  100. 1090 ifrn=200then1110
  101. 1100 ifa$="[133]"thenifrn<max+1thenit=it-1:gosub1810:rn=rn+1:gosub1640:goto1030
  102. 1110 ifa$="[134]"thenrn=max:it=it-1:gosub1810:gosub1640:goto1030
  103. 1120 ifa$="[138]"thenrn=1:it=it-1:gosub1810:gosub1640:goto1030
  104. 1130 ifa$="[137]"thenifrn>1thengosub1810:rn=rn-1:gosub1640:goto1030
  105. 1140 ifa$="[135]"thengosub3280:goto900
  106. 1150 ifval(a$(3,rn))thenifrn>maxthenmax=rn:gosub1640
  107. 1160 ifa$=""ora$="[157]"ora$="[145]"ora$=""ora$="[133]"ora$="[137]"ora$="[135]"then1050
  108. 1170 ifa$<>chr$(13)thenpoke631,asc(a$):poke198,1
  109. 1180 gosub1320:poke214,y(it):poke211,x(it):sys58732:poke646,1
  110. 1190 li=li(it):gosub1390:ifw$<>""thena$(it,rn)=w$
  111. 1200 ifw$=""then1280
  112. 1210 ifval(a$(3,rn))thenifrn>maxthenmax=rn:gosub1640
  113. 1220 ifrnthenifa$(1,rn)="0"thengosub3540:a$(1,rn)=mid$(str$(val(a$(1,bc))+1),2)
  114. 1230 ifrnthenifit<>1thenifa$(it,rn)="0"thena$(it,rn)=a$(it,rn-1)
  115. 1240 ifa$(2,rn)="d"ora$(2,rn)="deposit"ora$(2,rn)="[196]eposit"thena$(2,rn)="[196][197][208][207][211][201][212]
  116. 1250 [139]a$(2,rn)[178]"r"[176]a$(2,rn)[178]"reconciliation"[167]a$(2,rn)[178]"(NULL)vallen(NULL)(NULL)lenright$(NULL)right$atn(NULL)right$(NULL)(NULL)"
  117. 1260 [139]a$(2,rn)[178]"v"[176]a$(2,rn)[178]"void"[176]a$(2,rn)[178]"(NULL)oid"[167]a$(2,rn)[178]"(NULL)(NULL)right$str$"
  118. 1270 [139]it[178]3[167]a$[178]a$(3,rn):[141]1840:a$(3,rn)[178]a$
  119. 1280 ct[178]0:[141]1360:it[178]it[170]1
  120. 1290 [139]it[177]4[167]it[178]0:[139][197](a$(3,rn))[167][151]631,[198]("input"):[151]198,1
  121. 1300 [137]1050
  122. 1310 [143] clear out field before typing           over
  123. 1320 [151]214,y(it):[151]211,x(it):[158]58732:[153][200](sp$,li(it))
  124. 1330 [142]
  125. 1340 [143] make fields glow
  126. 1350 ct[178]ct[170].2:[139]ct[177]7[167]ct[178]1
  127. 1360 [151]646,c(ct):[151]214,y(it):[151]211,x(it):[158]58732
  128. 1370 [153]a$(it,rn)[200](sp$,[182](li(it)[171][195](a$(it,rn)))):[142]
  129. 1380 [143] get word routine
  130. 1390 [139]gx[167][151]214,gy:[151]211,gx:[158]58732
  131. 1400 w$[178]"":lw[178]0:[153]">waitcmd";:[139]limit[178]0[167]limit[178]10
  132. 1410 [161]a$:[139]a$[178]""[176]a$[178]"load"[176]a$[178]""[167]1410
  133. 1420 [139]a$[178]"on"[176]a$[178]""[176]a$[178]"cmd"[176]a$[178]""[176]a$[178]","[176]a$[178]";"[176]a$[178]":"[167]1410
  134. 1430 as[178][198](a$):[139]as[178]13[176]as[178]141[176]as[178]20[167]1490
  135. 1440 [139][194](653)[178]2[176][194](653)[178]4[176]as[178]148[1